gdk: Refactor default key vfuncs
authorBenjamin Otte <otte@redhat.com>
Tue, 16 Apr 2013 13:24:02 +0000 (15:24 +0200)
committerBenjamin Otte <otte@redhat.com>
Tue, 16 Apr 2013 13:30:14 +0000 (15:30 +0200)
Instead of copying them all over the place, keep a default
implementation around.

gdk/broadway/gdkdisplaymanager-broadway.c
gdk/gdkkeys.c
gdk/quartz/gdkdisplaymanager-quartz.c
gdk/win32/gdkdisplaymanager-win32.c

index 9fcd3a5624c15b37954a44868ea754cabe27ac20..2ed5b965132ebd7b1b35c459fbfaefcaf445e216 100644 (file)
@@ -88,22 +88,6 @@ gdk_broadway_display_manager_open_display (GdkDisplayManager *manager,
   return _gdk_broadway_display_open (name);
 }
 
-#include "../gdkkeynames.c"
-
-static gchar *
-gdk_broadway_display_manager_get_keyval_name (GdkDisplayManager *manager,
-                                            guint              keyval)
-{
-  return _gdk_keyval_name (keyval);
-}
-
-static guint
-gdk_broadway_display_manager_lookup_keyval (GdkDisplayManager *manager,
-                                          const gchar       *name)
-{
-  return _gdk_keyval_from_name (name);
-}
-
 static void
 gdk_broadway_display_manager_init (GdkBroadwayDisplayManager *manager)
 {
@@ -126,6 +110,4 @@ gdk_broadway_display_manager_class_init (GdkBroadwayDisplayManagerClass *class)
   object_class->finalize = gdk_broadway_display_manager_finalize;
 
   manager_class->open_display = gdk_broadway_display_manager_open_display;
-  manager_class->lookup_keyval = gdk_broadway_display_manager_lookup_keyval;
-  manager_class->get_keyval_name = gdk_broadway_display_manager_get_keyval_name;
 }
index 60277b6c29eae0e4fcc0aa711319de8893465f57..3026cfc7ad1bcb2e2d698096b5fbb15f4e98b06a 100644 (file)
@@ -674,6 +674,7 @@ gdk_keymap_get_modifier_mask (GdkKeymap         *keymap,
   return GDK_KEYMAP_GET_CLASS (keymap)->get_modifier_mask (keymap, intent);
 }
 
+#include "gdkkeynames.c"
 
 /**
  * gdk_keyval_name:
@@ -692,10 +693,16 @@ gdk_keymap_get_modifier_mask (GdkKeymap         *keymap,
 gchar *
 gdk_keyval_name (guint keyval)
 {
-  GdkDisplayManager *manager = gdk_display_manager_get ();
+  GdkDisplayManagerClass *manager_class;
+  GdkDisplayManager *manager;
+
+  manager = gdk_display_manager_get ();
+  manager_class = GDK_DISPLAY_MANAGER_GET_CLASS (manager);
 
-  return GDK_DISPLAY_MANAGER_GET_CLASS (manager)->get_keyval_name (manager,
-                                                                   keyval);
+  if (manager_class->get_keyval_name)
+    return manager_class->get_keyval_name (manager, keyval);
+  else
+    return _gdk_keyval_name (keyval);
 }
 
 /**
@@ -714,10 +721,16 @@ gdk_keyval_name (guint keyval)
 guint
 gdk_keyval_from_name (const gchar *keyval_name)
 {
-  GdkDisplayManager *manager = gdk_display_manager_get ();
+  GdkDisplayManagerClass *manager_class;
+  GdkDisplayManager *manager;
+
+  manager = gdk_display_manager_get ();
+  manager_class = GDK_DISPLAY_MANAGER_GET_CLASS (manager);
 
-  return GDK_DISPLAY_MANAGER_GET_CLASS (manager)->lookup_keyval (manager,
-                                                                 keyval_name);
+  if (manager_class->lookup_keyval)
+    return manager_class->lookup_keyval (manager, keyval_name);
+  else
+    return _gdk_keyval_from_name (keyval_name);
 }
 
 /**
index bccaf247f6c3205862e1cea3f850ac8bb836981b..4756cd04284ecd8ce2a91fc34c5b8f6b2e348e92 100644 (file)
@@ -47,22 +47,6 @@ gdk_quartz_display_manager_open_display (GdkDisplayManager *manager,
   return _gdk_quartz_display_open (name);
 }
 
-#include "../gdkkeynames.c"
-
-static gchar *
-gdk_quartz_display_manager_get_keyval_name (GdkDisplayManager *manager,
-                                            guint              keyval)
-{
-  return _gdk_keyval_name (keyval);
-}
-
-static guint
-gdk_quartz_display_manager_lookup_keyval (GdkDisplayManager *manager,
-                                          const gchar       *name)
-{
-  return _gdk_keyval_from_name (name);
-}
-
 static void
 gdk_quartz_display_manager_init (GdkQuartzDisplayManager *manager)
 {
@@ -98,6 +82,4 @@ gdk_quartz_display_manager_class_init (GdkQuartzDisplayManagerClass *class)
   manager_class->open_display = gdk_quartz_display_manager_open_display;
   manager_class->atom_intern = _gdk_quartz_display_manager_atom_intern;
   manager_class->get_atom_name = _gdk_quartz_display_manager_get_atom_name;
-  manager_class->lookup_keyval = gdk_quartz_display_manager_lookup_keyval;
-  manager_class->get_keyval_name = gdk_quartz_display_manager_get_keyval_name;
 }
index 127386bba3deeeafe158a21e47b9baabc19340da..8907dec16445be729a9011fbaf2b1849bf7432c0 100644 (file)
@@ -45,22 +45,6 @@ gdk_win32_display_manager_open_display (GdkDisplayManager *manager,
   return _gdk_win32_display_open (name);
 }
 
-#include "../gdkkeynames.c"
-
-static gchar *
-gdk_win32_display_manager_get_keyval_name (GdkDisplayManager *manager,
-                                           guint              keyval)
-{
-  return _gdk_keyval_name (keyval);
-}
-
-static guint
-gdk_win32_display_manager_lookup_keyval (GdkDisplayManager *manager,
-                                         const gchar       *name)
-{
-  return _gdk_keyval_from_name (name);
-}
-
 static void
 gdk_win32_display_manager_init (GdkWin32DisplayManager *manager)
 {
@@ -94,6 +78,4 @@ gdk_win32_display_manager_class_init (GdkWin32DisplayManagerClass *class)
   manager_class->atom_intern = _gdk_win32_display_manager_atom_intern;
   manager_class->get_atom_name = _gdk_win32_display_manager_get_atom_name;
 #endif
-  manager_class->lookup_keyval = gdk_win32_display_manager_lookup_keyval;
-  manager_class->get_keyval_name = gdk_win32_display_manager_get_keyval_name;
 }